package com.ncoach.tracing.model.bean;

import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

// TODO: Auto-generated Javadoc
/**
 * The Class Revision.
 */
@Entity
@Table(name = "REVISION")
public class Revision implements IModelTable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 904859223996727496L;

	/** The edad metabolica. */
	@Basic
	@Column(name = "EDAD_METABOLICA")
	private Integer edadMetabolica;

	/** The fecha revision. */
	@Basic
	@Column(name = "FECHA_REVISION")
	private Date fechaRevision;

	/** The grasa alta. */
	@Basic
	@Column(name = "GRASA_ALTA")
	private Double grasaAlta;

	/** The grasa baja. */
	@Basic
	@Column(name = "GRASA_BAJA")
	private Double grasaBaja;

	/** The grasa total. */
	@Basic
	@Column(name = "GRASA_TOTAL")
	private Double grasaTotal;

	/** The grasa visceral. */
	@Basic
	@Column(name = "GRASA_VISCERAL")
	private Integer grasaVisceral;

	/** The id. */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ID_REVISION")
	private Integer id;

	/** The litros agua. */
	@Basic
	@Column(name = "LITROS_AGUA")
	private Integer litrosAgua;

	/** The magro total. */
	@Basic
	@Column(name = "MAGRO_TOTAL")
	private Integer magroTotal;

	/** The masa osea. */
	@Basic
	@Column(name = "MASA_OSEA")
	private Double masaOsea;

	/** The metabolismo basal. */
	@Basic
	@Column(name = "METABOLISMO_BASAL")
	private Integer metabolismoBasal;

	/** The paciente. */
	@ManyToOne
	@Cascade(value = CascadeType.SAVE_UPDATE)
	@JoinColumn(name = "ID_PACIENTE")
	private Paciente paciente;

	/** The peso. */
	@Basic
	@Column(name = "PESO")
	private Double peso;

	/** The peso musculo. */
	@Basic
	@Column(name = "PESO_MUSCULO")
	private Double pesoMusculo;

	/** The peso optimo magro. */
	@Basic
	@Column(name = "PESO_OPTIMO_MAGRO")
	private Double pesoOptimoMagro;

	/** The por ciento agua. */
	@Basic
	@Column(name = "POR_CIENTO_AGUA")
	private Double porCientoAgua;

	/** The tension diastolica. */
	@Basic
	@Column(name = "TENSION_DIASTOLICA")
	private Integer tensionDiastolica;

	/** The tension sistolica. */
	@Basic
	@Column(name = "TENSION_SISTOLICA")
	private Integer tensionSistolica;

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Revision other = (Revision) obj;
		if (fechaRevision == null) {
			if (other.fechaRevision != null)
				return false;
		} else if (!fechaRevision.equals(other.fechaRevision))
			return false;
		return true;
	}

	/**
	 * Gets the edad metabolica.
	 * 
	 * @return the edad metabolica
	 */
	public Integer getEdadMetabolica() {
		return edadMetabolica;
	}

	/**
	 * Gets the fecha revision.
	 * 
	 * @return the fecha revision
	 */
	public Date getFechaRevision() {
		return fechaRevision;
	}

	/**
	 * Gets the grasa alta.
	 * 
	 * @return the grasa alta
	 */
	public Double getGrasaAlta() {
		return grasaAlta;
	}

	/**
	 * Gets the grasa baja.
	 * 
	 * @return the grasa baja
	 */
	public Double getGrasaBaja() {
		return grasaBaja;
	}

	/**
	 * Gets the grasa total.
	 * 
	 * @return the grasa total
	 */
	public Double getGrasaTotal() {
		return grasaTotal;
	}

	/**
	 * Gets the grasa visceral.
	 * 
	 * @return the grasa visceral
	 */
	public Integer getGrasaVisceral() {
		return grasaVisceral;
	}

	/**
	 * Gets the id.
	 * 
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * Gets the litros agua.
	 * 
	 * @return the litros agua
	 */
	public Integer getLitrosAgua() {
		return litrosAgua;
	}

	/**
	 * Gets the magro total.
	 * 
	 * @return the magro total
	 */
	public Integer getMagroTotal() {
		return magroTotal;
	}

	/**
	 * Gets the masa osea.
	 * 
	 * @return the masa osea
	 */
	public Double getMasaOsea() {
		return masaOsea;
	}

	/**
	 * Gets the metabolismo basal.
	 * 
	 * @return the metabolismo basal
	 */
	public Integer getMetabolismoBasal() {
		return metabolismoBasal;
	}

	/**
	 * Gets the paciente.
	 * 
	 * @return the paciente
	 */
	public Paciente getPaciente() {
		return paciente;
	}

	/**
	 * Gets the peso.
	 * 
	 * @return the peso
	 */
	public Double getPeso() {
		return peso;
	}

	/**
	 * Gets the peso musculo.
	 * 
	 * @return the peso musculo
	 */
	public Double getPesoMusculo() {
		return pesoMusculo;
	}

	/**
	 * Gets the peso optimo magro.
	 * 
	 * @return the peso optimo magro
	 */
	public Double getPesoOptimoMagro() {
		return pesoOptimoMagro;
	}

	/**
	 * Gets the por ciento agua.
	 * 
	 * @return the por ciento agua
	 */
	public Double getPorCientoAgua() {
		return porCientoAgua;
	}

	/**
	 * Gets the tension diastolica.
	 * 
	 * @return the tension diastolica
	 */
	public Integer getTensionDiastolica() {
		return tensionDiastolica;
	}

	/**
	 * Gets the tension sistolica.
	 * 
	 * @return the tension sistolica
	 */
	public Integer getTensionSistolica() {
		return tensionSistolica;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((fechaRevision == null) ? 0 : fechaRevision.hashCode());
		return result;
	}

	/**
	 * Sets the edad metabolica.
	 * 
	 * @param edadMetabolica
	 *            the new edad metabolica
	 */
	public void setEdadMetabolica(Integer edadMetabolica) {
		this.edadMetabolica = edadMetabolica;
	}

	/**
	 * Sets the fecha revision.
	 * 
	 * @param fechaRevision
	 *            the new fecha revision
	 */
	public void setFechaRevision(Date fechaRevision) {
		this.fechaRevision = fechaRevision;
	}

	/**
	 * Sets the grasa alta.
	 * 
	 * @param grasaAlta
	 *            the new grasa alta
	 */
	public void setGrasaAlta(Double grasaAlta) {
		this.grasaAlta = grasaAlta;
	}

	/**
	 * Sets the grasa baja.
	 * 
	 * @param grasaBaja
	 *            the new grasa baja
	 */
	public void setGrasaBaja(Double grasaBaja) {
		this.grasaBaja = grasaBaja;
	}

	/**
	 * Sets the grasa total.
	 * 
	 * @param grasaTotal
	 *            the new grasa total
	 */
	public void setGrasaTotal(Double grasaTotal) {
		this.grasaTotal = grasaTotal;
	}

	/**
	 * Sets the grasa visceral.
	 * 
	 * @param grasaVisceral
	 *            the new grasa visceral
	 */
	public void setGrasaVisceral(Integer grasaVisceral) {
		this.grasaVisceral = grasaVisceral;
	}

	/**
	 * Sets the id.
	 * 
	 * @param id
	 *            the new id
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * Sets the litros agua.
	 * 
	 * @param litrosAgua
	 *            the new litros agua
	 */
	public void setLitrosAgua(Integer litrosAgua) {
		this.litrosAgua = litrosAgua;
	}

	/**
	 * Sets the magro total.
	 * 
	 * @param magroTotal
	 *            the new magro total
	 */
	public void setMagroTotal(Integer magroTotal) {
		this.magroTotal = magroTotal;
	}

	/**
	 * Sets the masa osea.
	 * 
	 * @param masaOsea
	 *            the new masa osea
	 */
	public void setMasaOsea(Double masaOsea) {
		this.masaOsea = masaOsea;
	}

	/**
	 * Sets the metabolismo basal.
	 * 
	 * @param metabolismoBasal
	 *            the new metabolismo basal
	 */
	public void setMetabolismoBasal(Integer metabolismoBasal) {
		this.metabolismoBasal = metabolismoBasal;
	}

	/**
	 * Sets the paciente.
	 * 
	 * @param paciente
	 *            the new paciente
	 */
	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}

	/**
	 * Sets the peso.
	 * 
	 * @param peso
	 *            the new peso
	 */
	public void setPeso(Double peso) {
		this.peso = peso;
	}

	/**
	 * Sets the peso musculo.
	 * 
	 * @param pesoMusculo
	 *            the new peso musculo
	 */
	public void setPesoMusculo(Double pesoMusculo) {
		this.pesoMusculo = pesoMusculo;
	}

	/**
	 * Sets the peso optimo magro.
	 * 
	 * @param pesoOptimoMagro
	 *            the new peso optimo magro
	 */
	public void setPesoOptimoMagro(Double pesoOptimoMagro) {
		this.pesoOptimoMagro = pesoOptimoMagro;
	}

	/**
	 * Sets the por ciento agua.
	 * 
	 * @param porCientoAgua
	 *            the new por ciento agua
	 */
	public void setPorCientoAgua(Double porCientoAgua) {
		this.porCientoAgua = porCientoAgua;
	}

	/**
	 * Sets the tension diastolica.
	 * 
	 * @param tensionDiastolica
	 *            the new tension diastolica
	 */
	public void setTensionDiastolica(Integer tensionDiastolica) {
		this.tensionDiastolica = tensionDiastolica;
	}

	/**
	 * Sets the tension sistolica.
	 * 
	 * @param tensionSistolica
	 *            the new tension sistolica
	 */
	public void setTensionSistolica(Integer tensionSistolica) {
		this.tensionSistolica = tensionSistolica;
	}

}
